package com.skyline.feed.service;

import java.util.List;

import com.mongodb.DBObject;
import com.skyline.feed.model.FeedResult;
import com.skyline.feed.type.FeedType;
import com.skyline.wo.model.Article;

/**
 * 
 * @author Jairus Chan
 * 
 */
public interface PersonalFeedService {

	/**
	 * 插入Feed，不建议直接使用
	 * 
	 * @param resourceId
	 *            资源的ID
	 * @param title
	 *            资源title
	 * @param content
	 *            内容
	 * @param providerId
	 *            提供者Id，在PersonalFeed中，就是feed所有者的Id
	 * @param providerNickname
	 *            提供者的昵称
	 * @param providerPortrait
	 *            提供者的头像
	 * @param ownerId
	 *            feed所有者的Id
	 * @param type
	 *            feed的类型
	 */
	@Deprecated
	public void addFeed(Long resourceId, String title, String content, Long providerId, String providerNickname, String providerPortrait,
			Long ownerId, FeedType type);

	/**
	 * 插入文章通知
	 * 
	 * @param article
	 *            新插入的文章
	 */
	public void addArticleFeed(Article article);
	
//	public void addShareFedd(Share share);

	/**
	 * 查询feed
	 * 
	 * @param ownerId
	 *            所有者的Id
	 * @param current
	 *            当前记录
	 * @param level
	 *            等级
	 * @return
	 */
	public FeedResult getFeeds(Long ownerId, Integer current, Integer level);

	/**
	 * 查询某用户某一等级上的所有feed
	 * 
	 * @param ownerIds
	 *            用户Id列表
	 * @param level
	 *            等级
	 * @param lastQueryTime
	 *            上次查询的时间
	 * @return
	 */
	@Deprecated
	public List<DBObject> getFeeds(List<Long> ownerIds, Integer level, Long lastQueryTime);
}
